home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d3
/
asezas40.arc
/
ASEASY.HLP
< prev
next >
Wrap
Text File
|
1989-11-16
|
51KB
|
1,392 lines
33
ORDER 744
Shareware 1619
General 2460
Keys 4311
Formats 5441
Printing 6432
PrintCodes 7561
Column 9060
Graphs 9745
GraphType 10308
GraphOpt 12161
Macros 13151
MacroKeys 14114
MacroWords 14951
Range 18374
@Math 20411
@Finance 22337
StatsGen 24504
@Stats 25436
@LogicFunc 27646
@String 28733
@Date/Time 31140
Sorting 32238
DataQuest 33025
F-Keys 34387
Parsing 39241
3D-Panels 40058
MacroExample 41582
Querying 44061
Answers 46433
Linking 49550
End 50543
Future... 50590
!ORDER
<<<<<<< O R D E R F O R M >>>>>>>
Register and get the LATEST version of AS-EASY-AS, a
PRINTED manual, technical support, etc.
Disk Size Name: __________________________
5.25"____ 3.5"____
┌────────────────────┐ Address: _______________________
│TRIUS, Inc. │
│231 Sutton Street, │ City:___________________________
│Suite 2D-3 │
│N. Andover, MA 01845│ State:_____ Zip:_______________
└────────────────────┘
Copies ____ @ $50.00 + $5.00 S&H each Total ________
Check ____ VISA ____ MC _____ Other _______
# ________________________________ Exp.Date ____/_______
Signature ________________________ Date ____/____/______
* CALL 508-794-9377 for Latest Version/Price and Orders *
* Call us for a foreign distributor in your country *
!Shareware
S H A R E W A R E
══════════════════════════════════════════════════════════
The shareware concept has made it possible for you to
obtain extremely powerful software at a price you can
afford, and it gives you the opportunity to try the
software before you register.
Shareware is kept alive by YOUR support.
Evaluate the program for 30-days and give copies to your
friends for evaluation. If, after the 30 days, you think
that you will use the program, then register it by sending
us the registration form included in this help file or by
calling 508-794-9733. You will receive the Latest version,
Printed manual, Technical support, ......
Help support new developments in AS-EASY-AS, register
your copy today!
Thank you for your support,
The people at TRIUS, Inc.
!General
*** A S - E A S Y - A S ***
══════════════════════════════════════════════════════════
■ Commands are accessed by pressing the slash [/] key.
■ To exit from any menu press the [ESC] key.
■ Options can be invoked when starting the program.
The form is ASEASY /Switch1/Switch2/... [ENTER]
/H - Enables graphics for Hercules
/H2 - Enables graphics for Hercules, Video Pg. 2
/E - Enables graphics for EGA
/Q - Quick screen updating for CGA
/P - Set the default to Panel-type menus
/CT - Centers the column identifiers
/MY=x - Sets the Currency sign to x (instead of $)
/BK=x - Set screen blankout period to x seconds
/TP=x - Set column header character to x
/DV=x - Set column division character to x
/MONO - Changes colors to white on black (CGA card)
/SP - Suppress the column and row borders
/DIR=Path - Set the Path to the WKS files
■ To Start AS-EASY-AS from any DOS disk/directory:
1. The drive and directory where ASEASY.EXE is located
should be in the DOS Path (see your DOS manual).
2. The environment variable ASEASY should be set to
point to the AS-EASY-AS disk/directory.
(At the dos prompt, type 'SET ASEASY=D:\Directory'
where D:\Directory is where ASEASY.PRT, ASEASY.HLP
and ASEASY.MSG are located). This command could
also be included in your AUTOEXEC.BAT file.
Once the above two steps are completed, you can start
AS-EASY-AS from any disk/directory by simply typing
ASEASY and pressing [ENTER].
■ Graphs can be printed to a file, a Dot Matrix or a laser
printer by accessing the Graph sub-menu.
■ Menu driven and other automatic operations can be
developed in AS-EASY-AS, using its powerful macro
commands.
!Keys
M O V I N G A R O U N D
══════════════════════════════════════════════════════════
Up: Move up one row Home: Move to cell A1
Down: Move down one row Pgdn: Move down 20 rows
Left: Move left one column Pgup: Move up 20 rows
Right: Move right one column TAB: Move right one page
Shift TAB: Move left one page
F5: Goto specified cell
or named range
Pressing the End key, followed by one of arrow keys,
moves the cursor to the end of the current block.
┌........A/.......B/.......C/.......D/........E/
1 │ 12 7 1212
2 │ 9 123 343
3 │ 10 876
4 │ 12 74
5 │ 21 55 34
6 │ 1124 91 29
7 │ 33 11
8 │
If Cursor at A1: [END] [DOWN] ---> Cursor at A3
[END] [RIGHT] ---> Cursor at C1
If Cursor at B3: [END] [DOWN] ---> Cursor at B6
[END] [RIGHT] ---> Cursor at D3
!Formats
F O R M A T T I N G
══════════════════════════════════════════════════════════
The appearance of a block of cells can be set with the
/Range, Format command:
EXAMPLE
DISPLAY
TYPE FORMAT STATUS
---- ------ ------
Fixed 123.12 [F2] - Fixed, 2 decimals
Science 1.245E+8 [S3] - Science, 2 decimals
, 1,500.0 [,1] - Comma, 1 decimal
Currency $523.52 [C2] - Currency, 2 decimals
Percent 34. [%0] - Percent, no decimals
General
Text +A1+B2 [T] - Text
+/- +++++ [+/-]
Date 20 May,87 [D1] - Date, Type 1
Hide [H]
Reset Return to
General
(NOTE: The cell value does not change when formatted)
!Printing
P R I N T I N G
══════════════════════════════════════════════════════════
RANGE: Specify the area to be printed.
LINEFEED: Advance paper in printer a single line upwards.
PAGEADV: Advance paper to the top of next page.
ADJUST: Reset line and page counter to 0.
OPTION: Access the Print, Options menu.
MARGINS: Set the print Margins. Top and bottom margins
are in # of lines and in addition to the header
and footer lines. Left and right margins are
in characters and the maximum is 240.
PG-LENGTH: Set the length of a page. Up to 1024 lines.
HEADER: String on top line of every page. Three
available fields, separated by |.
#=Embed Page @=Embed Date
FOOTER: String on bottom line of every page.
Same fields as for header.
SETUP: Send control codes to the printer (see topic).
TYPE: AS-SEEN=Values, etc. CONTENTS=Equations, etc.
GO: Finally when ready to print, select go.
Note: You can STOP the printer at any time by pressing
the [ESC] key.
!PrintCodes
P R I N T C O D E S
══════════════════════════════════════════════════════════
Generally, for EPSON type printers, the printer setup code
is made up of the ASCII decimal code for the ESC character
followed by ASCII codes for other, specific characters.
(These codes can be found in your printer's manual).
All printer control codes must be placed in a SETUP
string. AS-EASY-AS will accept codes as THREE DIGIT
decimal ASCII character codes, preceded by the back-slash
character [\], or as ASCII characters. For example you
may type either one of the following two equivalent codes
in response to the prompt for the setup string:
\027\069 [ENTER]
\027E [ENTER] (069 is the code for E)
If you want to change the string you can edit it by
re-selecting the SETUP option. Commonly used codes
for EPSON type printers are:
┌─────────────────────────┬─────────────────────────────┐
│\027\070 Emphasized OFF │ \027\071 Double Strike on │
│\015 Condensed ON │ \027\072 Double Strike off │
│\018 Condensed OFF │ \027\048 1/8" line spacing│
│\014 Enlarged ON │ \027\049 7/72" line spacing│
│\020 Enlarged OFF │ \027\050 1/6" line spacing│
└─────────────────────────┴─────────────────────────────┘
Pressing \ and then F1, will open a secondary window
containing the setup codes available in the printer setup
file (see user's manual).
!Column
C O L U M N O P E R A T I O N S
══════════════════════════════════════════════════════════
■ To Set Current Column Width - /WCSxx[ENTER]
(Arrow keys can be used to shrink/expand columns)
■ To Set Global Column Width - /WGCxx[ENTER]
(Only affects column widths not set individually)
■ xx can be replaced by a formula which can be evaluated
using the F9 (Calc) key before [ENTER] is pressed
■ Delete Columns - /WDCrange[ENTER]
■ Insert Columns - /WICrange[ENTER]
range = any valid range; can be typed in
or highlighted using the arrow
keys in the pointing method.
!Graphs
G R A P H S I N G E N E R A L
══════════════════════════════════════════════════════════
STEPS you need to follow in defining a graph:
a). Define the X-Range
b). Define one or more Y-ranges (A through G)
c). Specify the format of the X and Y axes
d). Specify the Graph, X-axis and Y-axis titles
e). Finally, View or Print the graph.
Up to 6 different curves can be included on a single
graph.
See the following topics for more information:
GraphType, GraphOpt
!GraphType
G R A P H T Y P E S
══════════════════════════════════════════════════════════
LINE:
All x values are treated as labels and plotted in the
order they occur in the X-range.
X-Y:
All X values treated as numbers. Y-values are plotted
as functionals, assuming continuous functional
relationship.
BAR:
All X values treated as labels and they are plotted at
equal intervals on the axis.
PIE:
All Y values plotted as percent of sum of Y values. X
contents are treated as labels and plotted next to
percent Y values. To generate an exploding pie chart
(with one or more slices of the pie separated from the
rest), in the column to the right of the Y-range enter
the number of pixels that you want that slice removed
from the rest of the pie. Remember that a pie chart can
only have one Y-range. If more than one Y-ranges are
defined, then the A-range is used in generating the pie
chart.
STACK:
Stacked Bar Graph. Each specified Y range is plotted as
an incremental bar, on top of the previous one.
CUM:
This type of graph is very useful in depicting
continuous increasing functions and their cumulative
values at each function evaluation point.
RADAR:
A polar type of graph. The X-Axis are plotted as
coeccentric circles. Data range points are then
connected with radial lines in a manner similar to that
in a polar graph.
AREA:
Select an 'Area' type graph. This type of graph uses
lines to plot one defined graph range on top of the
other, with the area between each of the graph lines
filled with a different pattern.
DELTA:
This type of graph is used to plot the user defined
ranges as step functions.
!GraphOpt
O T H E R G R A P H O P T I O N S
══════════════════════════════════════════════════════════
SPLIT
Show two graphs on the same screen. One occupies the
top half of the screen and the other the bottom half
(Similar to the Graph, Name, Merge Option). The first
graph ins the graph currently defined and the second is
a named graph.
MERGE
Show two graphs on the same screen. This is useful for
two different ranges with the same X-values but
different Y-values. The left vertical axis displays the
scale for the current graph, while the right vertical
axis displays the scale for the named graph being
merged. The steps for merging two graphs are shown
below:
1) Assume you have a graph named "GraphOne".
2) Define a new current graph.
3) Invoke the Name, Merge, Select option.
4) Select "GraphOne" from the list that appears.
5) Press View to display both graphs at the same time.
!Macros
M A C R O S
══════════════════════════════════════════════════════════
A macro is a sequence of keystrokes or commands which can
be performed automatically, just like a program. Macros
can be defined by assigning a range name a single letter
[A..Z] preceded by a [\] backslash.
The macro will continue to execute downward from the
first row until a blank row is reached or the [ESC] key
is pressed.
AutoExecute macros start executing immediately after a
spreadsheet is loaded. To define an autoexecute macro,
apply a range name of \0 to the first macro cell to be
executed.
All macro keys and substitute function keys must be
enclosed in braces {}. Try the following simple macro
which moves the cursor right 2 cells.
Type the following in cell A1: {RT}{RT} [ENTER]
Give cell A1 a range name of \A. Now press [alt] and the
letter A. See, your first macro!
!MacroKeys
M A C R O K E Y S
══════════════════════════════════════════════════════════
When encountered in a macro statement, they make ASEASY
behave as if the corresponding key was pressed.
{LT} - cursor left {PGLT} - one page left
{RT} - cursor right {PGRT} - one page right
{UP} - cursor up {PGUP} - one page up
{DN} - cursor down {PGDN} - one page down
{HOME} - cursor to A1 {NAME}
{EDIT} - F2 {GOTO} - F5
{CALC} - F9 ~ - Sub for [ENTER]
{ESC} - Escape {BAS} - F4
{WINDOW} - {GRAPH} {END} - End Key
{?} - Pause for input
See MacroKeys topic for more info on macro language.
!MacroWords
M A C R O L A N G U A G E
══════════════════════════════════════════════════════════
These commands are only available from within executing
macros.
{Beep} - A single beep sound.
{Blank RANGE} - Erase the specified range
{Bordcolor x} - Sets the Border color to x
{BorderOff} - Turn OFF the row and column borders
{BorderOn} - Turn ON the row and column borders
{Botcolor x} - Sets color of bottom line to x
{Bs} - Backspace, delete one character left
{Call} - CALL routine at following cell and
execute until {Ret}
{ClrScr} - Clear the entire screen
{Curscolor x} - Sets color of cursor to x
{Default "Ann"} - Sets Panel menu position to line nn
{Default "Enn"} - Sets Cell Echo area to line nn
{Default "Fnn"} - Sets Bottom row position to line nn
{Default "Hnn"} - Sets Column Heading lineto nn
{Default "Tnn"} - Sets Top line position to line nn
{Delay x} - Delay an action, waiting for pressing
any key.
{Get Cell} - Accepts the next key pressed and places
it in Cell.
{GotoXy A1,A2} - Position character cursor at col,row
{If Test} - IF true then execute at following
command else execute next row
{InLabel "Msg",A1} - Input a LABEL and place in cell
{InValue "Msg",A2} - Input a NUMBER and place in cell
{Indxy m,n} - Place status indicator in col m, row n
{Inkey cell} - Place the next key pressed in cell
{Jump} - JUMP to cell following instruction and
start executing.
{Let cell,Arg} - Replaces the contents of cell with Arg
(value equation, etc.)
{MenuCall NAME} - Similar to above but a subroutine call
{MenuJump NAME} - Define your own menu and branch to it
{MenuOff} - Turn off menu updating
{MenuOn} - Turn on menu updating
{MenuWidth A1} - Set the width of menu, Max=30 cols.
{MenuXy A1,A2} - Set the col,row position of the menu.
{Menucolor x} - Sets the color of the menu to x
{Option "BLx"} - Sets left border character to x
{Option "BRx"} - Sets right border character to x
{Option "C"} - Center character on column header
{Option "Dx"} - Changes column dots to character x
{Option "L"} - Selects panel menu
{Option "Vx"} - Sets column divider character to x
{Quit} - QUIT, stop executing the macro
{Recalc RANGE} - Calculate only the specified range
{Ret} - RETURN from a called subroutine
{ScrnOff} - Turn off the screen display update
{ScrnOn} - Turn on the screen display update
{TextColor x} - Changes the text color to X
(see manual for colors)
{Tone A1,A2} - Play a tone of duration, frequency
{Topcolor x} - Sets color of tip line to x
{Update} - Refresh screen with new cell values
{Window} - Toggles cursor between two windows
{Write "Msg"} - Place msg at character cursor position
{WriteLn "Msg"} - Same as above, with CR/LF
{InRange "Msg",Cell}
- Prompt for range using "Msg". The
range is specified using the pointing
method, and terminated by [ENTER].
The resulting range is placed in Cell.
!Range
R A N G E
══════════════════════════════════════════════════════════
Ranges may be specified in two ways. The first way starts
by specifying the first call of the range. At this point
use the cursor keys to move the pointer out of the cell,
and move it to one corner of the desired range you wish to
highlight.
Press the '.' key. This anchors the pointer so that
additional pointer movements highlights more than just a
single cell.
Expand the pointer until the desired range is completely
highlighted. If the range is bigger than that area
displayed on the screen then press the '.' anchor key to
examine each of the corners of the range. A little
flashing cursor will indicate the current corner. It
is also this side of the pointer which may be moved by the
cursor keys.
When the range is completely highlighted press any other
key to return to your original cell and continue with your
work. Or if your finished with the formula press the
[enter] key. Your formula will be entered into the
spreadsheet at the current cell position.
The second way to specify a range is simply to type the
range name by specifying the corners of the range as
individual cells separated by two periods. i.e. A1..B2
The Range commands allow you to operate on a block of
cells. For example, consider all the cells bounded by
cell A1 and cell D2, and assume that the cursor is
currently at A1. To format all the cells within the
above block, to FIXED FORMAT with two decimals, enter the
following keystrokes:
/r ff 2 [ENTER] [LEFT] [LEFT] [DOWN] [DOWN] [ENTER]
││ ││ │ │ │ │ │ │ └─── Finish
││ ││ │ │ │ │ │ └─ Operation
││ ││ │ │ │ │ └── Move to D2
││ ││ │ │ │ └── Move to D1
││ ││ │ │ └── Move to C1
││ ││ │ └─ Move to B1
││ ││ └── 2 Decimals
││ │└─ Fixed
││ └─ Format
│└─ Range
└─ Invoke Menu
!@Math
M A T H E M A T I C A L F U N C T I O N S
══════════════════════════════════════════════════════════
The following functions act upon the argument 'x' within
the parenthesis. The argument may be a value or a formula
which references other cells within the spreadsheet.
Function Description/Example
─────────────────────────────────────────────────────────
@ABS(x) Returns the absolute value of argument.
Example. @ABS(-10) = 10
@ACOS(x) Arc cosine, returns radians
@ACOS(0.5) = 1.0471
@ASIN(x) Arc Sine, returns radians
@ASIN(0.866) = 1.0471
@ATAN(x) Arc Tangent, returns radians
@ATAN(1.732) = 1.047
@COS(x) Cosine of angle, x in radians.
@COS(1.047) = 0.5
@EXP(x) Raise 'e' to the 'x' power
@EXP(5) = 148.4131591
@INT(x) Integer value of argument. The fractional
part of the number is truncated and the
integer remainder is returned. Example:
@INT(10.6) = 10
@LN(x) Natural Logarithm to base 'e'
@LN(6) = 1.791...
@LOG(x) Logarithm to base '10'
@LOG(10) = 1
@MOD(x,y) Modulo division,
@MOD(10,3) = 1
@PI Constant which has a value of
@PI = 3.14159...
@RAND Returns a new random number after each CALC.
@ROUND(x,y) Rounds value x to y digits right of decimal
@ROUND(123.123,1) = 123.1
Negative value y rounds to left.
@ROUND(123.123,-2)= 100
@SIN(x) Sine of angle, x in radians.
@SIN(1.047) = 0.866
@SQRT(x) Square root of argument.
@SQRT(2) = 1.4142135624
@TAN(x) Tangent of angle, x in radians
@TAN(1.047) = 1.732
!@Finance
F I N A N C I A L F U N C T I O N S
══════════════════════════════════════════════════════════
@CTERM((Interest,FutureValue,PresentValue)
The number of compounding periods required for an
investment of PV (present value) to grow to FV (future
value), if the investment is earning INT interest per
compounding period.
@DDB(Cost,Salvage,Life,Period)
Accelerated depreciation value for an asset, given the
initial cost, the life expectancy, the end value and the
depreciation period. The depreciation is calculated
using the double declining balance method.
@FV(Annuity,interest rate,period)
Returns the future value corresponding to an annuity
occurring over the specified period. Reverse of the
above.
ex. @FV(700,0.0925,30) = 99979.77
@IRR(Interest rate,Range)
Returns the Rate of Return per period associated with a
cash flow. More than one solution may be possible if
cash flow changes between positive and negative values
throughout range.
ex. @IRR(0.11,H1..H5)
@NPV(Interest rate,Range)
Returns the Net present value of a cash flow over
interest period.
ex. @NPV(0.1,A1..D1)
@PMT(Principal,interest,period)
Returns the amount of an annuity equal to the
principal amortized over the period.
ex. @PMT(75000,0.0925,30) = 7462.61
@PV(Annuity,interest rate,period)
Returns the present value corresponding to an annuity
occurring over the specified period. Reverse of the
above.
ex. @PV(700,0.0925,30) = 7035.08
@RATE(FutureValue,PresentValue,N)
Interest rate required for an investment of PVAL to be
worth FVAL, in N compounding periods.
@SLN(Cost,Salvage,Life)
Straight line depreciation of an asset over ONE period
of LIFE.
@SYD(Cost,Salvage,Life,Period)
Depreciation of an asset using the Sum-of-Years
depreciation method.
@TERM(Payment,Interest,FutureValue)
Number of periods required to accumulate an investment
of FVAL making regular payments of PMT and accruing
interest at the rate of INT per period.
!StatsGen
S T A T I S T I C A L F U N C T I O N S
══════════════════════════════════════════════════════════
Statistical functions operate on a range of values.
A range specifies a rectangular block of data in the
spreadsheet. Only ONE range may be used as an argument.
i.e. Range = A1..B10 defines the block of data from:
a1...b1
a10...b10
Presented below are the statistical functions
available within AS-EASY-AS. To illustrate the use of
each function an example is included.
All examples will operate on the numbers contained in the
portion of the spreadsheet duplicated below, A1..C3.
/........A/.......B/.......C/
1 1.1 5.6 8.2
2 2.3 7.5 10
3 3.5 4.4 2
4
See @Statistics topic for function specifics.
!@Stats
S T A T I S T I C A L F U N C T I O N S (4)
══════════════════════════════════════════════════════════
@AVG(Range) Average value of the range
Ex. @Avg(A1..B2) = 4.955555
@COUNT(Range) Count the number of elements
in the range. Blank cells ignored.
Ex. @Count(A1..B2) = 9
@Count(A1..A4) = 3
@FACT(x) Factorial of X (0<X<23)
Ex. @Fact(4) = 24
@INDEX(Range,Col,Row) Returns the element in position
Row,Col of Range.
Ex. @Index(A1..C3,2,2) = 7.5
@MAX(Range) Maximum value in the range
Ex. @Max(A1..B2) = 10
@MIN(Range) Minimum value in the range
Ex. @Min(A1..B2) = 1.1
@STD(Range) Standard deviation of the range
Ex. @Std(A1..B2) = 2.904827
@SUM(Range) Sum of values in the range
Ex. @Sum(A1..C3) = 44.6
@VAR(Range) Returns the population variance of
the range.
Ex. @Var(A1..B2) = 8.438024
@ROWS(CellOne,CellTwo) Number of rows between the two
cells.
Ex. @Rows(A1..D10) = 10
@COLS((CellOne,CellTwo) Number of cols between the two
cells.
Ex. @Cols(A1..F10) = 6
@HTABLE(compare,range,ofs)
Returns the value at vertical offset in the column
that matches the compare value.
Ex. @HTABLE(5.6,A1..C3,1) = 4.4
@VTABLE(compare,range,ofs)
Returns the value at horizontal offset in the row
that matches the compare value.
Ex. @VTABLE(2.3,A1..C3,2) = 10
@HTERP(x,range,offset)
Returns the f(x) value based on a horizontal
interpolation of a table. The first (top) row of
'range' is contains the x-values. The 'offset' row
contains the f(x) values.
Ex. @HTERP(1.2,A1..C3,1) = 2.415555
Ex. @HTERP(5.5,A1..C3,2) = 4.38
@VTERP(x,range,offset)
Returns the f(x) value based on a vertical
interpolation of a table. The first (left) column of
'range' is contains the x-values. The 'offset' column
contains the f(x) values.
@VTERP(1.2,A1..C3,1) = 5.758333
@VTERP(3.4,A1..C2,2) = 2.666666
!@LogicFunc
L O G I C A L F U N C T I O N S
══════════════════════════════════════════════════════════
@IF(Condition,arg1,arg2)
Value of arg1 if Condition is true
value of arg2 if the Condition is false. Allowable
logical operators >,<,=,<>,>=,<= #OR#, #AND#.
Ex. @if(10>2,3*2,4+5) = 6
+(a1>2)*3+(a1<=2)*4 This formula will yield a
result of 3 if the value stored in cell A1
is greater than 2 and will yield a 4 if the
value is less than or equal to 2.
@ISSTR(Cell)
Returns 1 if the referenced cell contains a
label, 0 otherwise.
@ISNUM(Cell)
Returns 1 if the referenced cell contains a
value, 0 otherwise.
@ISERRCell)
Returns 1 if Cell contains ERR, 0 otherwise.
@TRUE
Returns the value of 1 (logical true).
@FALSE
Returns the value of 0 (logical false).
@NOT(Cell)
Logically negates the value of cell. 0 becomes 1 and 1
becomes 0.
@CASE(N,Arg1,Arg2,Arg3,......)
Returns the Nth argument from the Argument list.
!@String
S T R I N G F U N C T I O N S
══════════════════════════════════════════════════════════
@CHR(X)
The ASCII character corresponding to decimal code X.
@ASCII(String)
Returns the Decimal ASCII code of the first
character in String.
@EXACT(String1,String2)
One (True)if String1 and String2 are exactly the same,
zero (False) if they are not.
@LEFT(String,N)
First N characters in String.
@LENGTH(String)
Number of characters in String.
@LOWER(String)
All letters in String in lower case.
@MID(String,N1,N2)
N2 characters from string, starting with N1.
@N(Cell)
the numeric value in Cell, 0 if string.
@PROPER(String)
All words in string with the first letter in
upper case and the rest in lower case.
@REPEAT(String,N)
String, repeated N times.
@RIGHT(String,N)
The last N characters in String.
@S(Cell)
The string value in Cell, null string if numeric.
@VAL(X,N)
Numeric value X as a string, N decimals.
@TRIM(String)
String with no leading, trailing or multiple spaces.
@UPPER(String)
All letters in String in upper case.
@CELLPT(String)
Returns information about the CURRENT cell (i.e., the
cell that the pointer is currently located on). Type
of information depends on String.
String = "FORM" returns the format of current cell.
String = "ADDRESS" returns the address of current cell
as a string .
String = "CONTENTS" the contents of cell are returned
as a string, e.g. A1+3 is returned as "A1+3"
String = "ROW" returns the current cell row address.
String = "COLUMN" returns the current cell col address.
String = "WIDTH" returns the current cell column width.
String = "PREFIX" returns the current cell label prefix
STRING = "TYPE" returns an integer depending on the
contents of the current cell.
0 - String Formula
1 - Value formula
2 - Integer/Value
3 - Integer/Value
4 - String/Label
5 - Blank Cell
6 - Virgin Blank Cell
8 - String Formula error
9 - Value Formula error
!@Date/Time
D A T E / T I M E F U N C T I O N S
══════════════════════════════════════════════════════════
@DATE(YY,MM,DDD)
Serial number of days from Jan 1,1900 to Year = YY,
Month = MM, Day = DD.
Ex. @DATE(87,5,20) = 31917
(Note: Cell need to be in date format to display dates)
@DATEVALUE(String)
Serial number of days in String "MM/DD/YY".
@TODAY
Returns the serial number of days to now.
@TIME(HR,MIN,SEC)
Fraction of day corresponding to HR:MIN:SEC
@TIMEVALUE(String)
Fraction of day corresponding to String "MM/DD/YY"
@DAY(X)
The Day in X. @DAY(31917) = 20.
@HOUR(X)
The Hours in the fractional part of X
@MINUTE(X)
The Minutes in the fractional part of X
@MONTH(X)
The Month in X. @MONTH(31917) = 5 (May)
@SECOND(X)
The Seconds in the fractional part of X
@YEAR(X)
The Year in X. @YEAR(31917) = 87
@TODAY
Returns the unique integer corresponding to
today's date.
!Sorting
S O R T I N G
══════════════════════════════════════════════════════════
Sorting a data base of records by any field ( a column )
may be done by performing the following sequence of
keystrokes.
1. Get into the Data Sort menu by typing /DS
2. Define the INPUT range, This includes all records in
the data base.
( i.e. all rows and columns, excluding the headings)
3. Define the PRIMARY key
4. Optional: Define the SECONDARY key or tie breaker
5. Select GO to initiate the sort.
6. WAIT!
The sort will be completed shortly and a beep will
sound.
Please note that sorting is done according the the ASCII
values of the characters, therefore, numbers are placed
before characters..
!DataQuest
Q U E S T I O N I N G
══════════════════════════════════════════════════════════
Find or extract records which matching selected criteria.
1. Criterion and Output range headings should be
identical to same-column headings in Input range.
2. Criteria are specified using a logical operator and
the corresponding field in the first record (row) of
the input range.
3. Wildcards are allowed in strings criteria
* - match all characters to right of *
? - match single character in position of ?.
~ - match anything <> to criterion (but not =)
... - match if following string is in field
Criterion Examples:
-------------------
A* = Match any record whose respected field
starts with A regardless of what follows.
(Arc, Apron, Allston, Acton, ...)
?at = Match any record whose respected field
starts with any character and has 'at' as
the second and third characters. (Cat, Bat,
Rat,...)
...are = Match any record whose respected field
contains the characters 'are'. (Shareware,
software, beware,...)
~At = Match any record whose respected field is
not 'At'. (This, that, James,...)
!F-Keys
F U N C T I O N K E Y S
══════════════════════════════════════════════════════════
┌───╖ * HELP *
│F1 ║ In the ready mode invokes Help (that's how you
╘═══╝ got here).
A. After a left curly bracket has been entered, it
brings up a list containing all the macro
command names.
B. After an operator has been entered (+,-,/,....),
it brings up a list containing all the range
names in the worksheet.
C. After the @ key has been entered, it brings up a
list containing all the function names.
D. After a backslash has been entered, it brings up
a list with all the printer setup codes
contained in the external file ASEASY.PRT.
When one of the above screens is displayed, move
to the desired selection and press [ENTER]. Your
choice is placed in the command area and you are
returned to the edit mode.
┌───╖ * EDIT *
│F2 ║ Places the contents of the cell the cursor is
╘═══╝ currently on, in the command area and enters the
edit mode. After you finish editing, press [ENTER]
to accept the changes and return to the ready mode.
┌───╖ * NAME *
│F3 ║ Pressing F3 you are prompted for a macro to execute.
╘═══╝ You can either type the name or hit ESCAPE. If you
hit ESCAPE, a window appears with all the range
names. Select the one corresponding to the macro
you want to execute and press [ENTER].
While in the Edit mode, pressing F3 places you in
the Control-Code-Bypass mode which allows you to
enter printer control codes (lower than 032 ASCII)
using the Alt-Numeric keypad combination.
For Example, the folllowing key sequence,
This is F3 Alt-015 Condensed F3 Alt-018 print,
will result in the word 'Condensed' printed in
condesed mode (on an EPSON compatible printer).
┌───╖ * ABSOLUTE *
│F4 ║ If you are entering a formula using the pointing
╘═══╝ mode, pressing F4 will make the last entered cell
reference absolute. Repeatedly pressing F4 will
cycle through making column, row and both
coordinates absolute
┌───╖ * GOTO *
│F5 ║ When you press F5, you are prompted for a
╘═══╝ destination cell. You can either type the cell or
range name you want to go to, or press ESCAPE. If
you press ESCAPE, a window appears containing all
the range names in the worksheet. Select the
range name you want and press [ENTER].
┌───╖ * WINDOW *
│F6 ║ If two windows are currently open, F6 toggles the
╘═══╝ cursor between them. If only one window is open,
pressing F6 toggles the cursor between the current
and last cursor cell location.
┌───╖ * WORD PROCESSOR *
│F7 ║ Enter the word processor mode. Rows and column
╘═══╝ disappear and a ruler line is displayed at the top
of the screen. Press ESC to return to the
worksheet mode after you are finished. If not
enough memory is available to enter the word
processing mode, an apppropriate error will be
displayed.
┌───╖
│F8 ║ * CURRENTLY NOT USED *
╘═══╝
┌───╖ * RECALC *
│F9 ║ Pressing F9 re-calculates all cells that contain an
╘═══╝ equation. While in the edit mode, pressing F9
replaces the equation that is displayed in the
commands area with its calculated value.
┌───╖ * GRAPH *
│F10║ F10 re-displays the currently defined graph. This
╘═══╝ function key is useful for viewing graphs while
performing what-if analyses. Using F10 you do not
have to go through the /GV and then Quit sequence
every time you change the values of the defined X
and Y ranges.
!Parsing
P A R S I N G
══════════════════════════════════════════════════════════
Parsing is used to convert a string (a collection of
characters) into equivalent strings or values in adjacent
columns in the same row. Parsing is used, for example, to
convert a file which was imported as text, to its
equivalent text and values. It should be noted that
certain characters are used as delimiters in parsing.
[;] [,] [+] [']
Examples:
Ab 12 50+15 ---> Ab 12 50 15
Ab 2E3 5;10 ---> Ab 2000 5 10
Ab '1'2 20 ---> Ab 1 2 20
│ │
└──┬──┘
│
Labels
!3D-Panels
P A N E L S - D I M E N S I O N S
══════════════════════════════════════════════════════════
The Wsheet, Global, Dimensions command allows you to
simulate a 3-D environment. When the command is invoked,
you are prompted for the number of panels (up to 100
allowed).
The generated panels are 256 columns wide and (1048/N)
rows high, where N is the number of panels specified.
Panels are named sequentially (A, B, C, ....). The
current panel is indicated by its letter, positioned on
the upper left corner of the screen, directly above the
column numbers.
You can go from the current panel to another as follows:
1. Use the GOTO (F5) function key.
2. Press Ctrl-PgDn. This makes the next panel in the
sequence the current panel.
3. Press Ctrl-PgUp. This makes the previous panel in
the sequence the current panel.
Cells from any panel can be accessed as though they were
in the current one. When the Dimensions option is on,
the cells are referenced by the panel letter(s), followed
by a colon and the cell reference:
Examples:
A:A1 - Panel A, Cell A1
+AA:W34 - Add cell W34 from panel AA
When the number of panels is reset to one, all information
in the rest of the panels is retained in the worksheet.
For example if two panels had been selected, and
information was entered in cell B:A1, when the number of
panels is reset to one, the information in B:A1 is now
located in cell A1025.
!MacroExample
M A C R O E X A M P L E S
══════════════════════════════════════════════════════════
Example #1
----------
Enter the information presented below in the indicated
cells: (Finish each entry by pressing the [ENTER] key).
Cell Contents Explanation
---- ------------- ------------------------
A1 {GOTO}A21~ Place cursor in cell A21
A2 {?} Pause and wait for input
(Terminated by [ENTER])
A3 {GOTO}A1~ Place cursor in cell A1.
Now move to cell A1 and press /rnc\b[ENTER][ENTER].
Pressing Alt-B, will now move the cursor to cell A21 and
pause for input. Type anything you want (including
nothing) and press [ENTER]. The cursor will now move to
cell A1, and execution of the macro will stop.
Example #2
----------
Enter the information presented below in the indicated
cells: (Finish each entry by pressing the [ENTER] key).
Cell Contents Explanation
---- ------------- ---------------------
A1 {HOME} Place cursor in A1.
A2 {INVALUE "A=",B1} Display "A=" in the
panel area of the
worksheet, place the
entered value in B1.
A3 {if B1>10}{JUMP QT} If the value in B1 is
greater than 10, start
executing the macro
named QT.
A4 {LET B2,B1*10} Multiply value in B1
by 10, and place the
result in B2.
A5 Leave this cell blank.
A6 {LET B2,B1*100} Multiply value in B1 by
100,and place result in
cell B2.
A7 Leave this cell blank.
Now name the required ranges using the following
keystrokes:
/rnc\aa1[ENTER] - Name the first macro cell
/rncQTa6[ENTER] - Name the second macro cell.
Press Alt-A. The program will display "A=" in the panel
area and pause for input. anter a value and press
[ENTER]. If the value is less than 10, 100 times the
value appears in B2, if not, 10 times the value appears
in B2.
!Querying
Q U E S T I O N I N G A D A T A B A S E
══════════════════════════════════════════════════════════
1. Define the database Input range: /DQIA1..C6 [ENTER]
(Includes the field names).
2. Define the Output range: OA21..C24 [ENTER]
The first row of the output range contains the field
names - EXACT copies.
3. Define the Criterion range: CA11.A12 [ENTER]
The first row contains an EXACT cop of the field name.
4. Extract the records that meet the criretia: E
Database Input Range
--------------------
┌..............A/......B/..........C/........D/......
1 │Name Age Height(m) <- Field Names
2 │Bill Johnson 19 1.82 ┐
3 │Wayne Williams 41 1.79 │
4 │John Jones 29 1.88 ├─ Records
5 │James Carlson 33 1.74 │
6 │Bob Robinson 18 1.91 ┘
7 │
Database Criterion Range (1)
----------------------------
┌..............A/......B/..........C/........D/.....
11│Name <-- Field Name
12│J* <-- Criterion (This Criterion will
13│ filter out all records where the
14│ first letter of field 'Name' is not J)
Database Output Range (1)
-------------------------
┌..............A/......B/..........C/........D/.......
21│Name Age Height(m) <-- Field Names
22│John Jones 29 1.88 ┐
23│James Carlson 33 1.74 ┴ Extracted
24│ Records
Modify the criterion range, this time using the ages as a
filter. Then repeat the Extract (/DQE) command to
extract the new records.
Database Criterion Range (2)
----------------------------
┌..............A/......B/..........C/........D/.....
1 │Age <-- Field Name
2 │+B2>30 <-- Criterion (This Criterion will
3 │ filter out all records where the
4 │ field 'Age' is greater than 30)
Database Output Range (2)
-------------------------
┌..............A/......B/..........C/........D/.......
1 │Name Age Height(m) <-- Field Names
2 │Wayne Williams 41 1.79 ┐
3 │James Carlson 33 1.74 ┴ Extracted
Records
!Answers
A N S W E R S
══════════════════════════════════════════════════════════
The following are answers to some common questions.
Q1. I see ASTERISKS where my number used to be.
A1. Number is to wide to be displayed in the column.
Expand column until Number appears or change format ,
/Wsheet Column Set
_______________________
Q2. Not all of my print range prints, part is cut off.
A2. Your print margins are not, probably, wide enough.
Expand margin with, /PrintTo Printer Options Margin.
_______________________
Q3. How do I get an AUTOEXEC macro?
A3. Give your macro a range name of \0 (zero not O),and
save your file. Next time the file is retrieved it
will start executing that macro.
_______________________
Q4. Can I have a worksheet file loaded automatically when
I start the program?
A4. Yes, there are two ways you can do that.
1. Name your worksheet AUTOEXEC.WKS. Also, remember
to set the default directory, to the one where
this file is located, when you start the program.
2. Start AS-EASY-AS using the DOS command Line:
ASEASY /AUTO=FileName.WKS
where FileName is the desired worksheet.
_______________________
Q5. I have a CGA card with a black and white monitor, and
I can't see the graphs when they are displayed.
A5. Use the /MONO switch when you start the AS-EASY-AS
program.
_______________________
Q6 I tried to view a graph that I had defined, and I
only got the axes, no data points.
A6. This symptom usually occurs when the X-axis is
defined as range of labels, and the graph type is X-
Y.
_______________________
Q7. I imported a file into AS-EASY-AS using the File,
Import, Values command, and I got the values but not
any of the labels.
A7. When importing an ASCII file as values, the only
labels that are retained are those enclosed in double
quotes.
_______________________
Q8. How can I hide columns?
A8. Columns can be hidden by specifying column width
zero.
_______________________
Q9. How can I prevent (hide) rows from printing?
A9. Place a piping character (|) in the leftmost cell of
the row you want to hide.
_______________________
Q10. Dates do not sort properly, August comes before June!
A10. Dates entered as June 10, 1989, for example, are
labels. Therefore, August 22, 1989 comes before June
10, 1989 since August starts with an A and June with
a J. To properly sort dates, they should be entered
using one of the AS-EASY-AS Date or String-to-Date
functions.
_______________________
Q11. My footer does not print on the last page of my
printout.
A11. Footers are only printed if the available information
completes the page. To force a footer to print, use
the PageAdv command.
!Linking
L I N K I N G
══════════════════════════════════════════════════════════
The worksheet currently im memory can be linked to
worksheets on disk using the @LINK function of AS-EASY-AS.
@LINK("FileName>Cell")
Ex. @LINK("c:\SAMPLE.WKS>A231")
- The Double Quotes and the '>' character are necessary
- The file specified by 'FileName' should be in the
current data directory. The 'WKS' extension is
optional.
When this function is entered, the cell will display 'ERR'
indicating that no linking has taken place. When the
/File, Uplink command is executed, the contents of the
referenced 'Cell' in 'FileName' are retrieved and placed
in the calling cell. Note that all 'Linked' cells are
updated when a file is retrieved (i.e., as if a /File,
Uplink command was executed right after the file was
retrieved). Also note that no recalculation of the
referenced cell takes place before uplinking.
!End
* The End *
! Future...